package com.arsn.myf.system.service;

import com.arsn.myf.common.node.TreeNode;
import com.arsn.myf.system.entity.Role;
import com.arsn.myf.system.vo.RoleMenuVO;
import com.arsn.myf.system.vo.RoleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 角色接口层
 * @author zhongrj
 * @since 2022-07-10
 */
public interface RoleService extends IService<Role> {

    /**
     * 自定义角色分页数据
     * @param role
     * @return
     */
    List<RoleVO> selectPageRoleList(RoleVO role);

    /**
     * 查询角色列表
     * @param role
     * @return
     */
    List<RoleVO> getRoleList(RoleVO role);

    /**
     * 获取角色树
     * @param role 角色查询参数对象
     * @return
     */
    List<TreeNode> getRoleTree(RoleVO role);

    /**
     * 角色菜单配置
     * @param roles (roleId 角色id,menuIds 菜单id)
     * @return
     */
    boolean updateMenuRole(RoleMenuVO roles);
}
